package com.yxym.final_;

public class Final01 {
    public static void main(String[] args) {
        System.out.println(C.i);

    }
}

//要求A类不能被其他类继承
//可以使用final修饰A类
/*
定义时：public final double TAX_RATE = 0.08;
在构造器中
在代码中
 */
class A{
    public final double TAX_RATE = 0.08;//定义时赋值
    public final double TAX_RATE2;
    public final double TAX_RATE3;
    public A(){//在构造器中
        TAX_RATE2 = 1.1;
    }
    {//在代码块中赋值
       TAX_RATE3 = 2.2;
    }
}
class B{
/*
如果final修饰的属性是静态的，则初始化的位置只能是：
1.定义时
2.在静态代码块中不能在构造器中赋值
*/
    public static final double TAX_RATE = 1.0;
    public static final double TAX_RATE2 ;
    static {
        TAX_RATE2 =3.2;
    }
}
class C{
    public static final int i = 100;//没有final只输出i值不会调用static静态方法
    static {
        System.out.println("C的静态方法被调用...");
    }
}